package Terminal.TechnicalServices.Mapper;

import java.util.ArrayList;

import Terminal.Entity.Dominio.ENoRegoleCalcolo;
import Terminal.Entity.Dominio.ERegola;
import Terminal.Entity.IceClasses.ENoRegolaCalcoloI;

public class MNoRegoleCalcolo implements Mapper {

	@Override
	public ENoRegolaCalcoloI getIceObj(Object hibObj) {

		ENoRegolaCalcoloI iceNoRegoleCalcolo = null;
		
		if ( hibObj instanceof ENoRegoleCalcolo)
		{
			iceNoRegoleCalcolo = new ENoRegolaCalcoloI();
			iceNoRegoleCalcolo.regole = new ArrayList<EntityCondivise.ERegola>();
			
			for(ERegola hibRegola: ((ENoRegoleCalcolo) hibObj).getRegole() )
			{
				Mapper regolaMapper = new MapperFactory().getMapper(hibRegola);
				iceNoRegoleCalcolo.regole.add( (EntityCondivise.ERegola) regolaMapper.getIceObj(hibRegola) );
			}
		}
		
		return iceNoRegoleCalcolo;
	}

	@Override
	public ENoRegoleCalcolo getHibObj(Object iceObj) {

		ENoRegoleCalcolo hibNoRegoleCalcolo = null;		
		
		if ( iceObj instanceof ENoRegolaCalcoloI)
		{
			hibNoRegoleCalcolo = new ENoRegoleCalcolo();
			hibNoRegoleCalcolo.setRegole( new ArrayList<ERegola>() ); 
			
			for(EntityCondivise.ERegola iceRegola: ((ENoRegolaCalcoloI) iceObj).regole)
			{
				Mapper regolaMapper = new MapperFactory().getMapper(iceRegola);
				hibNoRegoleCalcolo.getRegole().add( (ERegola) regolaMapper.getHibObj(iceRegola) );
			}	
		}
		
		return hibNoRegoleCalcolo;
		
	}

}
